import { request, METHOD } from '@renderer/service/http.service'
import { message } from 'antd'
/**
 * 加载所有地图数据
 */
export function getMapList() {
  return request({
    url: '/mapmng',
    method: METHOD.POST,
    data: { mapname: 'all', control: 'query' }
  })
    .then((response) => {
      response.data.message = response.data.message.map((item, index) => {
        return {
          ...item,
          sort: index,
          tile: `.${item.tile}/{z}/{x}/{y}.png`
        }
      })
      return response
    })
    .catch((error) => {
      console.error(error)
      message.error({
        content: '地图获取失败！'
      })
    })
}

export function getMapByName(data) {
  return request({
    url: '/mapmng',
    method: METHOD.POST,
    data: Object.assign({ control: 'query' }, data)
  }).then((response) => {
    response.data.message = response.data.message.map((item, index) => {
      return {
        ...item,
        sort: index,
        tile: `.${item.tile}/{z}/{x}/{y}.png`
      }
    })
    return response
  })
}

/**
 * 删除地图
 */
export function removeMap(data) {
  return request({
    url: '/mapmng',
    method: METHOD.POST,
    data: Object.assign({ control: 'delete' }, data)
  }).catch((error) => {
    message.error({
      content: '地图删除失败！'
    })
  })
}





// /**
//  * 创建地图：开始录制
//  */
// export function recordMap(data) {
//   return request({
//     url: '/mapmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'start' }, data)
//   })
//     .then((response) => {
//       message.success({
//         content: '开始录制地图!'
//       })
//       return response
//     })
//     .catch((error) => {
//       message.error({
//         content: '开始录制失败！'
//       })
//     })
// }

// /**
//  * 创建地图：结束录制
//  */
// export function unRecordMap(data) {
//   return request({
//     url: '/mapmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'stop' }, data)
//   })
//     .then((response) => {
//       message.success({
//         content: '结束录制地图!'
//       })
//       return response
//     })
//     .catch((error) => {
//       message.error({
//         content: '结束录制失败！'
//       })
//     })
// }

// /**
//  * 创建地图：生成地图
//  */
// export function createMap(data) {
//   // loading.open();
//   return request({
//     url: '/mapmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'create' }, data)
//   })
//     .then((response) => {
//       message.success({
//         content: '地图生成中...!'
//       })
//       // loading.close();
//       return response
//     })
//     .catch((error) => {
//       message.error({
//         content: '生成地图失败！'
//       })
//       // loading.close();
//     })
// }

// /**
//  * 创建地图：获取进度
//  */
// export function getProgress(data) {
//   return request({
//     url: '/mapmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'progress' }, data)
//   }).catch((error) => {
//     message.error({
//       content: '获取进度失败！'
//     })
//   })
// }

// /**
//  * 创建地图：激活地图
//  */
// export function activationMap(data) {
//   return request({
//     url: '/mapmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'active' }, data)
//   }).catch((error) => {
//     message.error({
//       content: '激活地图失败！'
//     })
//   })
// }

// /**
//  * 创建地图：去激活地图
//  */
// export function deactivationMap(data) {
//   return request({
//     url: '/mapmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'deactive' }, data)
//   }).catch((error) => {
//     message.error({
//       content: '去激活地图失败！'
//     })
//   })
// }

// export function deactivationMaps(mapNames) {
//   const promises = mapNames.map((name) => {
//     return deactivationMap({ mapname: name })
//   })
//   return Promise.all(promises)
// }

// /**
//  * 获取地图原信息
//  */
// export function getMapMeta(data) {
//   return request({
//     url: '/mapmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'meta' }, data)
//   }).catch((error) => {
//     message.error({
//       content: '获取地图源信息失败！'
//     })
//   })
// }

// /**
//  * 模式切换：设置当前业务模式(导航业务模式)
//  */
// export function setNavMode(data) {
//   return request({
//     url: '/servicemng',
//     method: METHOD.POST,
//     data: Object.assign({ servtype: 'service', operate: 'set' }, data)
//   }).catch((error) => {
//     message.error({
//       content: '业务模式切换失败！'
//     })
//   })
// }

// /**
//  * 查询运行的业务节点
//  * @returns
//  */
// export function queryServiceList() {
//   return request({
//     url: '/servicemng',
//     method: METHOD.POST,
//     data: Object.assign({ servtype: 'service', operate: 'list' })
//   })
// }

// export function pollServiceNode(nodeName: string, time) {
//   return new Promise((resolve, reject) => {
//     let index = 0
//     const timer = setInterval(async () => {
//       const response = await queryServiceList()
//       const { data } = response
//       const nodes = data.message.nodes

//       if (nodes.includes(nodeName)) {
//         clearInterval(timer)
//         resolve(nodeName)
//       }
//       if (index > 20) {
//         clearInterval(timer)
//         reject('节点查询失败！')
//       }
//       index += 1
//     }, time)
//   })
// }

// export function getMappingStatus(data) {
//   return request({
//     url: '/mapmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'status', mapname: 'none' })
//   }).catch((error) => {
//     message.error({
//       content: '获取建图状态失败！'
//     })
//   })
// }

// export function clearMappingStatus() {
//   return request({
//     url: '/mapmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'clear', mapname: 'none' })
//   }).catch((error) => {
//     message.error({
//       content: '停止建图失败！'
//     })
//   })
// }

// /*--------------------------- 下一阶段实现一下接口 -------------------------------------
// /**
//  * 导入地图
//  */
// export function importMap(data) {
//   return request({
//     url: '/mapmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'import' }, { mapname: data })
//   })
// }

// /**
//  * 图上标注：任务标注
//  */
// export function taskAnnotation(data) {
//   return request({
//     url: '/taskmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'set' }, data)
//   })
// }

// /**
//  * 图上标注：查询所有地图所有路径的所有任务
//  */
// export function queryAllMapTask(data) {
//   return request({
//     url: '/taskmng',
//     method: METHOD.POST,
//     data: { control: 'query', mapname: 'all', pathname: 'all' }
//   })
// }

// /**
//  * 图上标注：查询指定地图所有路径的所有任务
//  */
// export function queryOneMapTask(data) {
//   return request({
//     url: '/taskmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'query', pathname: 'all' }, data)
//   })
// }

// /**
//  * 图上标注：查询指定地图指定路径的所有任务
//  */
// export function queryOnePathTask(data) {
//   return request({
//     url: '/taskmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'query' }, data)
//   })
// }

// /**
//  * 图上标注：删除任务
//  */
// export function delTask(data) {
//   return request({
//     url: '/taskmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'delete' }, data)
//   })
// }

// /**
//  * 图上标注：修改任务
//  */
// export function modifyTask(data) {
//   return request({
//     url: '/taskmng',
//     method: METHOD.POST,
//     data: Object.assign({ control: 'modify' }, data)
//   })
// }

// export function getMaps() {
//   return Promise.resolve({
//     data: [
//       {
//         name: '/odom',
//         thumb: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
//       },
//       {
//         name: '/odom',
//         thumb: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
//       },
//       {
//         name: '/odom',
//         thumb: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
//       },
//       {
//         name: '/odom',
//         thumb: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
//       },
//       {
//         name: '/odom',
//         thumb: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
//       },
//       {
//         name: '/odom',
//         thumb: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
//       },
//       {
//         name: '/odom',
//         thumb: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
//       },
//       {
//         name: '/odom',
//         thumb: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
//       },
//       {
//         name: '/odom',
//         thumb: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
//       },
//       {
//         name: '/odom',
//         thumb: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
//       }
//     ]
//   })
// }
